Thermal inkjet technology printing involves depositing a number of overlapping dots of the same color ink or different color ink on a medium sheet to form a pixel. As one example, a four color ink printer printing any combination of cyan, magenta, yellow, and black dots for a pixel position with, at most, one dot per color for a single pixel position can produce 16 different colors for a single pixel position without half-toning. If multiple drops of the same color ink can be utilized when creating a color spot, the possible color combinations without half toning is greatly increased.
Modern day thermal inkjet printers are capable of producing hardcopy reproductions of displayed image data utilizing sophisticated error diffusion techniques, such as the Floyd and Steinberg technique. See, for example, Floyd, R. W. and Steinberg. A L.; “An Adaptive Algorithm For Spatial Gray Scale, AA”SID 75 Digest; Society for Information Display 1975, at pages 36–37. See also, Meyer, J. D. Dispoto, G. J., and Mather, L. R.; U.S. Pat. No.: 4,680,645 entitled “Multiple Level Error Diffusion” as well as McGuire, M. D. U.S. Pat. No.: 5,434,672 entitled “Pixel Error Diffusion Method.”
The McGuire, M. D. patent (U.S. Pat. No. 5,434,672) discloses an error distribution scheme based on the teachings of the Floyd and Steinberg technique. More particularly, the McGuire patent teaches that error diffusion is accomplished by combined super-pixel error diffusion with intra-super-pixel error diffusion among subject pixels within a selected super-pixel. Super-pixel representations of a physical image are processed for subsequent presentation by diffusing error values derived by taking differences between input and output portions of the physical image being processed, and the error values are diff-used with respect to a selected super-pixel of predetermined dimensioning and residing in a predetermined super-pixel neighborhood, and further with respect to selected subject pixels within the selected super-pixel, each of them being subject pixels within the selected super-pixel and having an assigned error value.
In one embodiment, McGuire teaches to diffuse contributions of the error of a selected subject pixel in a selected super-pixel to selected neighboring super-pixels, according to a desired fractional distribution scheme. That is, the selected subject pixel within the selected super-pixel will have had its error established according to an error distribution scheme accomplished among individual subject pixels within the selected super-pixel. According to one such internal error distribution scheme, error diffusion is accomplished among all or a selected subset of the subject pixels within the selected super-pixel. In accordance with an error diffusion scheme internal to the super-pixel, the entire error of a pixel within a super-pixel is provided to a next pixel and so on until a determined or selected subject pixel within the super-pixel produces a final error value for the super-pixel which is then distributed fractionally or otherwise among selected or predetermined adjacent super-pixels and to some or each of the subject pixels within each such selected neighboring super-pixels.
While such an error diffusion scheme minimizes visual artifacts which commonly appear in an output presentation printer, it would nevertheless be highly desirable to have a new and improved error diffusion apparatus and method that significantly reduces the average error values associated with converting from one color space to another color space.
Digressing for a moment, error diffusion is a half toning algorithm for converting from N level display data to M level printer data where N is substantially greater than M. For example, if a display source image device is capable of display 24-bits of RGB data an associated printer would need to output 28 or 256 different levels of each color to exactly reproduce the display source image data. Since most printers are incapable of producing such a large number of different color levels for each color, the display source image data must be half toned before printing. Error diffusion is a way of half toning the display image data. In summary then, error diffusion selects the closest possible level out of the available levels, and passes the error onto the neighboring pixels.
A typical error diffusion scheme can be illustrated with the following example: assuming an input display device has the capability of displaying 16 levels per pixel color and that an associated printer is capable of only producing four equally spaced levels per pixel color. The error associated with each display color when converted to the printer color space can be illustrated or shown in Table I.
TABLE IVin01234 567891011121314 15Vo00005 55510101010151515 15Ve0−1−2−31 0−1−2210−1−32 1  0
From Table I, an average error value can be computed in accordance with equation 1 to arrive at an average error value of 1.25 as follows:20/16=1.25   Equation 1
While such a error value in a typical error diffusion scheme may be acceptable for many application, it would be highly desirable to have a new and improved error diffusion algorithm and apparatus that greatly reduces the average error value in an error diffusion scheme.